Performance Impact of Object Oriented ProgrammingR
نویسندگان
چکیده
It is widely accepted that object-oriented design improves code reusability, facilitates code maintainability and enables higher levels of abstraction. Although the software engineering community has embraced object-oriented programming for these beneets, it has not been clear what performance overheads are associated with this programming paradigm. In this paper, we present some quantitative results based on the performance of a few programs in C and C++. Several programs were prooled and the statistics of several program executions at various compiler optimization levels were generated on two architectures, the MIPS and SPARC. One observation was that in spite of a static code increase in C++, the dynamic instruction counts were either comparable or smaller in C++. However the cache miss ratios and traac ratios were signiicantly worse for C++ (often twice). It was also seen that some of the C++ features such as function overloading and free unions did not incur any run time overhead. These results should be of interest to computer architects and compiler writers who are designing and optimizing systems for executing object-oriented programs. Although it is diicult to devise representative and comparable programs in two diierent languages that use two diierent programming paradigms, we believe that our study will provide some initial data points and hopefully will lead into more related research.
منابع مشابه
Modeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism
In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...
متن کاملModeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism
In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...
متن کاملVisual Tracking using Learning Histogram of Oriented Gradients by SVM on Mobile Robot
The intelligence of a mobile robot is highly dependent on its vision. The main objective of an intelligent mobile robot is in its ability to the online image processing, object detection, and especially visual tracking which is a complex task in stochastic environments. Tracking algorithms suffer from sequence challenges such as illumination variation, occlusion, and background clutter, so an a...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملObjects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques
Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...
متن کامل